/*
 * Copyright (c) 2017, Li Bo/Alex Lee All rights reserved.
 * 
 * http://www.libo4dream.club/
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 
package com.hyts.bmsp.dao;

import com.jfinal.plugin.activerecord.Page;

/**
 * @ClassName: AbstractDBDAO
 * @Description: 抽象数据库数据访问层
 * @author: LiBo/Alex Lee
 * @date: 2017年9月23日 下午6:42:25
 * @email: alexlibochn@china-pui.com.cn/alex.link@foxmail.com
 */
public interface AbstractDBDAO<PO,queryDTO,viewDTO>{
	
	 /**
	 * @Title: queryPOListByPage
	 * @Description: 查询PO分页查询信息
	 * @param dto
	 * @return
	 * @return: Page<PO>
	 */
	public Page<PO> queryPOListByPage(queryDTO dto);
	 
	 /**
	 * @Title: loadPO
	 * @Description: 查询单条数据信息
	 * @param dto
	 * @return
	 * @return: PO
	 */
	public PO loadPO(queryDTO dto);
	
	/**
	 * @Title: editPO
	 * @Description: 编辑数据持久化对象
	 * @param dto
	 * @return
	 * @return: boolean
	 */
	public boolean editPO(queryDTO dto);
	
	/**
	 * @Title: savePO
	 * @Description: 保存数据持久化对象
	 * @param dto
	 * @return
	 * @return: boolean
	 */
	public boolean savePO(queryDTO dto);
	
	/**
	 * @Title: deletePO
	 * @Description: 删除数据持久化对象
	 * @param dto
	 * @return
	 * @return: boolean
	 */
	public boolean deletePO(queryDTO dto);

}
